package fast.loader;
import java.util.Arrays;
import java.util.HashMap;

public class GearBuffDB {
	
	private HashMap<Integer,String> db = new HashMap<Integer,String>();
	int[] ignorelist = new int[]{69210,46874,77950,65905,73526};
	int[] metagem_critdmg = new int[]{68778,76884};
	
	public GearBuffDB(){
		Arrays.sort(ignorelist);
		Arrays.sort(metagem_critdmg);
		populateDB();
	}
	
	public String getGearBuff(int id){
		if(db.containsKey(id)){
			return db.get(id);
		}
		return null;
	}
	
	public boolean isCritMetaGem(int id){
		if(Arrays.binarySearch(metagem_critdmg, id) >= 0){
			return true;
		}
		return false;
	}
	
	public boolean isCapacitivePrimalDiamond(int id){
		if(id == 95346){
			return true;
		}
		return false;
	}
	
	private void populateDB() {
		db.put(77979, "vial_of_shadows_lfr");
		db.put(77207, "vial_of_shadows");
		db.put(77999, "vial_of_shadows_heroic");
		db.put(68994, "matrix_restabilizer");
		db.put(69150, "matrix_restabilizer_heroic");
		db.put(72897, "arrow_of_time");
		db.put(77197, "wrath_of_unchaining");
		db.put(77994, "wrath_of_unchaining_heroic");
		db.put(77974, "wrath_of_unchaining_lfr");
		db.put(68927, "the_hungerer");
		db.put(69112, "the_hungerer_heroic");
		db.put(77202, "starcatcher_compass");
		db.put(77993, "starcatcher_compass_heroic");
		db.put(77973, "starcatcher_compass_lfr");
		db.put(77188, "no_kaled");
		db.put(78472, "no_kaled_heroic");
		db.put(77113, "kiroptyric_sigil");
		db.put(73648, "badge_of_conquest_403");
		db.put(73643, "insignia_of_conquest");
		
		// mop 5.0
		db.put(81125, "windswept_pages");
		db.put(89082, "hawkmasters_talon");
		//db.put(87079, "jade_bandit_figurine_heroic");
		db.put(86043, "jade_bandit_figurine");
		//db.put(86772, "jade_bandit_figurine_lfr");
		db.put(79328, "relic_of_xuen");
		db.put(87495, "gerps_perfect_arrow");
		db.put(86332, "terror_in_the_mists");
		db.put(87167, "terror_in_the_mists_heroic");
		db.put(86890, "terror_in_the_mists_lfr");
		db.put(86132, "bottle_of_infinite_stars");
		db.put(87057, "bottle_of_infinite_stars_heroic");
		db.put(86791, "bottle_of_infinite_stars_lfr");
		db.put(81265, "flashing_steel_talisman");
		db.put(81267, "searing_words");
		db.put(87574, "corens_cold_chromium_coaster");
		db.put(84072, "braid_of_ten_songs");
		db.put(75274, "zen_alchemist_stone");
		// 5.1
		db.put(93253, "woundripper_medallion"); // horde version
		db.put(93258, "woundripper_medallion"); // alliance version
		// 5.2
		db.put(94511, "shado_pan_assault"); // shadopan_talisman
		db.put(95625, "lfr_renatakis_soul_charm"); // renatakis_soul_charm_lfr
		db.put(94512, "renatakis_soul_charm"); // normal Rena
		db.put(95997, "thunder_renatakis_soul_charm"); // thunder Rena
		db.put(96369, "heroic_renatakis_soul_charm"); // heroic Rena
		db.put(96741, "heroic_thunder_renatakis_soul_charm"); // hero thunder rena
		db.put(95748, "lfr_talisman_of_bloodlust"); // Talisman of Bloodlust lfr
		db.put(94522, "talisman_of_bloodlust"); // normal
		db.put(96120, "thunder_talisman_of_bloodlust"); // thunder
		db.put(96492, "heroic_talisman_of_bloodlust"); // heroic
		db.put(96864, "heroic_thunder_talisman_of_bloodlust"); // heroic thunder
		db.put(95665, "lfr_bad_juju"); // bad juju lfr
		db.put(94523, "bad_juju"); // normal
		db.put(96037, "thunder_bad_juju"); // thunder
		db.put(96409, "heroic_bad_juju"); // heroic
		db.put(96781, "heroic_thunder_bad_juju"); // heroic thunder
		db.put(95802, "lfr_rune_of_reorigination"); // rune of re-origination lfr
		db.put(94532, "rune_of_reorigination"); // normal
		db.put(96174, "thunder_rune_of_reorigination"); // thunder
		db.put(96546, "heroic_rune_of_reorigination"); // heroic
		db.put(96918, "heroic_thunder_rune_of_reorigination"); // heroic thunder
		// 5.4
		db.put(102248, "fury_of_xuen"); 
		db.put(103686, "discipline_of_xuen");
		db.put(103986, "timeless_discipline_of_xuen");
		db.put(105029, "lfr_haromms_talisman");
		db.put(104780, "flex_haromms_talisman");
		db.put(102301, "haromms_talisman");
		db.put(105278, "war_haromms_talisman");
		db.put(104531, "heroic_haromms_talisman");
		db.put(105527, "heroic_war_haromms_talisman");
		db.put(105082, "lfr_sigil_of_rampage");
		db.put(104833, "flex_sigil_of_rampage");
		db.put(102302, "sigil_of_rampage");
		db.put(105331, "war_sigil_of_rampage");
		db.put(104584, "heroic_sigil_of_rampage");
		db.put(105580, "heroic_war_sigil_of_rampage");
		db.put(104974, "lfr_assurance_of_consequence");
		db.put(104725, "flex_assurance_of_consequence");
		db.put(102292, "assurance_of_consequence");
		db.put(105223, "war_assurance_of_consequence");
		db.put(104476, "heroic_assurance_of_consequence");
		db.put(105472, "heroic_war_assurance_of_consequence");
		db.put(105114, "lfr_ticking_ebon_detonator");
		db.put(104865, "flex_ticking_ebon_detonator");
		db.put(102311, "ticking_ebon_detonator");
		db.put(105363, "war_ticking_ebon_detonator");
		db.put(104616, "heroic_ticking_ebon_detonator");
		db.put(105612, "heroic_war_ticking_ebon_detonator");
	}
	
	public HashMap<Integer, String> getAll(){
		return this.db;
	}
}

